	list	p=pic16f84a, r=dec
	org	0
	goto	_start
	org	4
	goto	interrupt
_STATUS	equ	3
_C	equ	0
_Z	equ	2
_PCL	equ	2
_PCLATH	equ	10
_TMR0	equ	1
_INTCON	equ	11
_OPTION	equ	129
PIC16F84_static	equ	18
MathTest_static	equ	18
Math16_static	equ	33
Processor_static	equ	43
PIC16F84__PORTA	equ	18
PIC16F84__PORTB	equ	18
PIC16F84__EEDATA	equ	18
PIC16F84__EEADR	equ	18
PIC16F84__TRISA	equ	18
PIC16F84__TRISB	equ	18
PIC16F84__EECON1	equ	18
PIC16F84__EECON2	equ	18
PIC16F84__C	equ	18
PIC16F84__Z	equ	18
PIC16F84__W	equ	18
PIC16F84__F	equ	18
PIC16F84__TMR0	equ	18
PIC16F84__PCL	equ	18
PIC16F84__STATUS	equ	18
PIC16F84__FSR	equ	18
PIC16F84__PCLATH	equ	18
PIC16F84__INTCON	equ	18
PIC16F84__OPTION	equ	18
MathTest_a	equ	18
MathTest_b	equ	19
MathTest_c	equ	20
MathTest_d	equ	21
MathTest_e	equ	22
MathTest_aa	equ	23
MathTest_bb	equ	25
MathTest_cc	equ	27
MathTest_dd	equ	29
MathTest_ee	equ	31
Math16_aLo	equ	33
Math16_aHi	equ	34
Math16_bLo	equ	35
Math16_bHi	equ	36
Math16_cLo	equ	37
Math16_cHi	equ	38
Math16_dLo	equ	39
Math16_dHi	equ	40
Math16_temp	equ	41
Math16_flags	equ	42
PIC16F84__setMemory_II_V_loc	equ	43
PIC16F84__setMemory_II_V_tmp	equ	45
PIC16F84__getMemory_I_I_loc	equ	43
PIC16F84__getMemory_I_I_tmp	equ	44
PIC16F84__setBit_II_V_loc	equ	43
PIC16F84__setBit_II_V_tmp	equ	45
PIC16F84__clearBit_II_V_loc	equ	43
PIC16F84__clearBit_II_V_tmp	equ	45
PIC16F84__asm_Str_loc	equ	43
PIC16F84__asm_Str_tmp	equ	44
PIC16F84__initline_Str_loc	equ	43
PIC16F84__initline_Str_tmp	equ	44
PIC16F84__clock_I_V_loc	equ	43
PIC16F84__clock_I_V_tmp	equ	44
PIC16F84__delay_I_V_loc	equ	43
PIC16F84__delay_I_V_tmp	equ	44
PIC16F84__heap_I_V_loc	equ	43
PIC16F84__heap_I_V_tmp	equ	44
PIC16F84__memory_II_V_loc	equ	43
PIC16F84__memory_II_V_tmp	equ	45
PIC16F84__banksize_I_V_loc	equ	43
PIC16F84__banksize_I_V_tmp	equ	44
PIC16F84__genlabel__V_loc	equ	43
PIC16F84__genlabel__V_tmp	equ	43
PIC16F84__getlabelhigh__I_loc	equ	43
PIC16F84__getlabelhigh__I_tmp	equ	43
PIC16F84__getlabellow__I_loc	equ	43
PIC16F84__getlabellow__I_tmp	equ	43
PIC16F84__printlabel__V_loc	equ	43
PIC16F84__printlabel__V_tmp	equ	43
PIC16F84__init___V_loc	equ	43
PIC16F84__init___V_tmp	equ	44
MathTest__init___V_loc	equ	46
MathTest__init___V_tmp	equ	47
MathTest_main_Str_loc	equ	43
MathTest_main_Str_tmp	equ	47
MathTest_stop__V_loc	equ	43
MathTest_stop__V_tmp	equ	43
Math16_add__V_loc	equ	44
Math16_add__V_tmp	equ	45
Math16_mul__V_loc	equ	44
Math16_mul__V_tmp	equ	45
Math16_setup__V_loc	equ	44
Math16_setup__V_tmp	equ	45
Math16_div__V_loc	equ	44
Math16_div__V_tmp	equ	45
Math16__init___V_loc	equ	46
Math16__init___V_tmp	equ	47
Processor__init___V_loc	equ	48
Processor__init___V_tmp	equ	49
_FSR_TEMP	equ	12
_ACC	equ	13
_HEAP	equ	14
_ACC_TEMP	equ	15
_STATUS_TEMP	equ	16
_W_TEMP	equ	17
_start
	movlw	79
	movwf	_HEAP
	goto	main
clockspeed	equ	4000
; tmr0 count = 0
tmr0_for_1ms	equ	256
; prescaler = 2
set_prescaler_for_1ms	macro
	bcf	_OPTION,2
	bcf	_OPTION,1
	bcf	_OPTION,0
	endm

PIC16F84__init___V
;---- PIC16F84.java[69]
;---- PIC16F84.java[70]
;---- PIC16F84.java[72]
;---- PIC16F84.java[73]
;---- PIC16F84.java[74]
;---- PIC16F84.java[75]
;---- PIC16F84.java[77]
;---- PIC16F84.java[78]
;---- PIC16F84.java[79]
;---- PIC16F84.java[80]
;---- PIC16F84.java[81]
;---- PIC16F84.java[83]
;---- PIC16F84.java[84]
;---- PIC16F84.java[85]
;---- PIC16F84.java[87]
;---- PIC16F84.java[88]
;---- PIC16F84.java[89]
;---- PIC16F84.java[90]
	return

MathTest__init___V
;---- MathTest.java[1]: public class MathTest extends Processor {
	movf	MathTest__init___V_loc+0,0
	movwf	Processor__init___V_loc+0
	call	Processor__init___V
	return

MathTest_main_Str
main
;---- MathTest.java[7]: 	int[] i_tbl = new int[9];
	movlw	9
bseladdr	set	_HEAP
	banksel	bseladdr
	subwf	_HEAP,1
	movf	_HEAP,0
	movwf	MathTest_main_Str_loc+1
;---- MathTest.java[8]: 	d = 9;
	movlw	9
	movwf	MathTest_d
;---- MathTest.java[9]: 	cc = 5774L;
	movlw	22
	movwf	_ACC
	movlw	142
	movwf	MathTest_cc+1
	movf	_ACC,0
	movwf	MathTest_cc
;---- MathTest.java[10]: 	aa = cc*d;
	movf	MathTest_d,0
	clrf	_ACC
	movwf	Math16_aLo
	movf	_ACC,0
	movwf	Math16_aHi
	movf	MathTest_cc+1,0
	movwf	Math16_bLo
	movf	MathTest_cc,0
	movwf	Math16_bHi
	call	Math16_mul__V
	movf	Math16_cHi,0
	movwf	_ACC
	movf	Math16_cLo,0
	movwf	MathTest_aa+1
	movf	_ACC,0
	movwf	MathTest_aa
;---- MathTest.java[11]: 	bb = 23903L << 1;
	movlw	186
	movwf	_ACC
	movlw	190
	movwf	MathTest_bb+1
	movf	_ACC,0
	movwf	MathTest_bb
;---- MathTest.java[13]: 	stop(); 
	call	MathTest_stop__V
;---- MathTest.java[17]: 	ee = 32620;
	movlw	127
	movwf	_ACC
	movlw	108
	movwf	MathTest_ee+1
	movf	_ACC,0
	movwf	MathTest_ee
;---- MathTest.java[18]: 	a = 7;
	movlw	7
	movwf	MathTest_a
;---- MathTest.java[19]: 	aa = ee/a;
	movf	MathTest_a,0
	clrf	_ACC
	movwf	MathTest_main_Str_tmp+0
	movf	_ACC,0
	movwf	MathTest_main_Str_tmp+1
	movf	MathTest_main_Str_tmp+1,0
	movwf	_ACC
	movf	MathTest_main_Str_tmp+0,0
	movwf	Math16_aLo
	movf	_ACC,0
	movwf	Math16_aHi
	movf	MathTest_ee,0
	movwf	_ACC
	movf	MathTest_ee+1,0
	movwf	Math16_bLo
	movf	_ACC,0
	movwf	Math16_bHi
	call	Math16_div__V
	movf	Math16_bHi,0
	movwf	_ACC
	movf	Math16_bLo,0
	movwf	MathTest_aa+1
	movf	_ACC,0
	movwf	MathTest_aa
;---- MathTest.java[21]: 	cc = 33333;
	movlw	130
	movwf	_ACC
	movlw	53
	movwf	MathTest_cc+1
	movf	_ACC,0
	movwf	MathTest_cc
;---- MathTest.java[22]: 	dd = 55469;
	movlw	216
	movwf	_ACC
	movlw	173
	movwf	MathTest_dd+1
	movf	_ACC,0
	movwf	MathTest_dd
;---- MathTest.java[23]: 	bb = dd % cc;
	movf	MathTest_cc,0
	movwf	_ACC
	movf	MathTest_cc+1,0
	movwf	Math16_aLo
	movf	_ACC,0
	movwf	Math16_aHi
	movf	MathTest_dd,0
	movwf	_ACC
	movf	MathTest_dd+1,0
	movwf	Math16_bLo
	movf	_ACC,0
	movwf	Math16_bHi
	call	Math16_div__V
	movf	Math16_cHi,0
	movwf	_ACC
	movf	Math16_cLo,0
	movwf	MathTest_bb+1
	movf	_ACC,0
	movwf	MathTest_bb
;---- MathTest.java[25]: 	stop();
	call	MathTest_stop__V
;---- MathTest.java[29]: 	a = 1;
	movlw	1
	movwf	MathTest_a
;---- MathTest.java[30]: 	i_tbl[0] = a << 0;
	movf	MathTest_a,0
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	0
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[31]: 	i_tbl[1] = a << 1;
	bcf	_STATUS,_C
	rlf	MathTest_a,0
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	1
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[32]: 	i_tbl[2] = a << 2;
	movlw	2
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_109_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_109_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_109_loop
MathTest_main_Str_109_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_109_end
MathTest_main_Str_109_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_109_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	2
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[33]: 	i_tbl[3] = a << 3;
	movlw	3
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_117_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_117_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_117_loop
MathTest_main_Str_117_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_117_end
MathTest_main_Str_117_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_117_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	3
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[34]: 	i_tbl[4] = a << 4;
	swapf	MathTest_a,0
	andlw	240
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	4
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[35]: 	i_tbl[5] = a << 5;
	movlw	5
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_133_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_133_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_133_loop
MathTest_main_Str_133_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_133_end
MathTest_main_Str_133_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_133_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	5
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[36]: 	i_tbl[6] = a << 6;
	movlw	6
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_143_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_143_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_143_loop
MathTest_main_Str_143_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_143_end
MathTest_main_Str_143_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_143_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	6
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[37]: 	i_tbl[7] = a << 7;
	movlw	7
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_153_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_153_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_153_loop
MathTest_main_Str_153_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_153_end
MathTest_main_Str_153_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_153_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	7
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[38]: 	i_tbl[8] = a << 8;
	movlw	8
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_163_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_163_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_163_loop
MathTest_main_Str_163_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_163_end
MathTest_main_Str_163_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_163_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	8
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[40]: 	stop();
	call	MathTest_stop__V
;---- MathTest.java[42]: 	a = 0x80;
	movlw	128
	movwf	MathTest_a
;---- MathTest.java[43]: 	i_tbl[0] = a >> 0;
	movf	MathTest_a,0
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	0
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[44]: 	i_tbl[1] = a >> 1;
	bcf	_STATUS,_C
	rrf	MathTest_a,0
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	1
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[45]: 	i_tbl[2] = a >> 2;
	movlw	2
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_196_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_196_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_196_loop
MathTest_main_Str_196_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_196_end
MathTest_main_Str_196_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_196_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	2
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[46]: 	i_tbl[3] = a >> 3;
	movlw	3
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_204_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_204_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_204_loop
MathTest_main_Str_204_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_204_end
MathTest_main_Str_204_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_204_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	3
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[47]: 	i_tbl[4] = a >> 4;
	swapf	MathTest_a,0
	andlw	15
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	4
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[48]: 	i_tbl[5] = a >> 5;
	movlw	5
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_220_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_220_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_220_loop
MathTest_main_Str_220_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_220_end
MathTest_main_Str_220_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_220_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	5
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[49]: 	i_tbl[6] = a >> 6;
	movlw	6
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_230_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_230_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_230_loop
MathTest_main_Str_230_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_230_end
MathTest_main_Str_230_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_230_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	6
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[50]: 	i_tbl[7] = a >> 7;
	movlw	7
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_240_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_240_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_240_loop
MathTest_main_Str_240_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_240_end
MathTest_main_Str_240_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_240_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	7
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[51]: 	i_tbl[8] = a >> 8;
	movlw	8
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_250_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_250_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_250_loop
MathTest_main_Str_250_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_250_end
MathTest_main_Str_250_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_250_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movlw	8
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[53]: 	stop();
	call	MathTest_stop__V
;---- MathTest.java[55]: 	a = 1;
	movlw	1
	movwf	MathTest_a
;---- MathTest.java[56]: 	for (int i = 0; i < 9; i++) {
	movlw	0
	movwf	MathTest_main_Str_loc+2
	goto	MathTest_main_Str_275
;---- MathTest.java[57]: 	    i_tbl[i] = a << i;
MathTest_main_Str_264
bseladdr	set	MathTest_main_Str_loc+2
	banksel	bseladdr
	movf	MathTest_main_Str_loc+2,0
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_270_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_270_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rlf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_270_loop
MathTest_main_Str_270_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_270_end
MathTest_main_Str_270_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_270_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movf	MathTest_main_Str_loc+2,0
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[56]: 	for (int i = 0; i < 9; i++) {
	incf	MathTest_main_Str_loc+2,1
MathTest_main_Str_275
bseladdr	set	MathTest_main_Str_loc+2
	banksel	bseladdr
	movf	MathTest_main_Str_loc+2,0
	sublw	9
	btfsc	_STATUS,_Z                         ; skip if Z flag not set
	goto	$+3                                 ; jump if eq
	btfsc	_STATUS,_C                         ; skip if C flag not set
	goto	MathTest_main_Str_264               ; jump if ge
;---- MathTest.java[60]: 	stop();
	call	MathTest_stop__V
;---- MathTest.java[62]: 	a = 0x80;
	movlw	128
	movwf	MathTest_a
;---- MathTest.java[63]: 	for (int i = 0; i < 9; i++) {
	movlw	0
	movwf	MathTest_main_Str_loc+3
	goto	MathTest_main_Str_306
;---- MathTest.java[64]: 	    i_tbl[i] = a >> i;
MathTest_main_Str_295
bseladdr	set	MathTest_main_Str_loc+3
	banksel	bseladdr
	movf	MathTest_main_Str_loc+3,0
	btfsc	_STATUS,_Z
	goto	MathTest_main_Str_301_end2
	movwf	4
	movf	MathTest_a,0
	movwf	_ACC
MathTest_main_Str_301_loop
	bcf	_STATUS,_C
bseladdr	set	_ACC
	banksel	bseladdr
	rrf	_ACC,1
	decfsz	4,1
	goto	MathTest_main_Str_301_loop
MathTest_main_Str_301_end1
bseladdr	set	_ACC
	banksel	bseladdr
	movf	_ACC,0
	goto	MathTest_main_Str_301_end
MathTest_main_Str_301_end2
bseladdr	set	MathTest_a
	banksel	bseladdr
	movf	MathTest_a,0
MathTest_main_Str_301_end
bseladdr	set	MathTest_main_Str_tmp+0
	banksel	bseladdr
	movwf	MathTest_main_Str_tmp+0
	movf	MathTest_main_Str_loc+1,0
	movwf	4
	movf	MathTest_main_Str_loc+3,0
	addwf	4,1
	movf	MathTest_main_Str_tmp+0,0
	movwf	0
;---- MathTest.java[63]: 	for (int i = 0; i < 9; i++) {
	incf	MathTest_main_Str_loc+3,1
MathTest_main_Str_306
bseladdr	set	MathTest_main_Str_loc+3
	banksel	bseladdr
	movf	MathTest_main_Str_loc+3,0
	sublw	9
	btfsc	_STATUS,_Z                         ; skip if Z flag not set
	goto	$+3                                 ; jump if eq
	btfsc	_STATUS,_C                         ; skip if C flag not set
	goto	MathTest_main_Str_295               ; jump if ge
;---- MathTest.java[67]: 	stop();
	call	MathTest_stop__V
;---- MathTest.java[69]: 	for (;;) ;
	goto	MathTest_main_Str_318
MathTest_main_Str_318
	goto	MathTest_main_Str_318

MathTest_stop__V
;---- MathTest.java[73]:     }
	return

Math16_add__V
;---- Math16.java[11]
  bcf	Math16_flags,_C
;---- Math16.java[12]
	movf    Math16_aLo,0
;---- Math16.java[13]
	addwf   Math16_bLo,1
;---- Math16.java[14]
	btfsc   _STATUS,_C
;---- Math16.java[15]
 	incf    Math16_bHi,1
;---- Math16.java[16]
	btfsc	_STATUS,_C
;---- Math16.java[17]
	bsf	Math16_flags,_C
;---- Math16.java[18]
	movf    Math16_bHi,0
;---- Math16.java[19]
	addwf   Math16_bHi,1
;---- Math16.java[20]
	btfsc	Math16_flags,_C
;---- Math16.java[21]
	bsf	_STATUS,_C
	return

Math16_mul__V
;---- Math16.java[25]
	call    Math16_setup__V
;---- Math16.java[26]
Math16_mloop   rrf     Math16_dHi,1
;---- Math16.java[27]
	rrf     Math16_dLo,1
;---- Math16.java[28]
	btfsc   _STATUS,_C
;---- Math16.java[29]
	call    Math16_add__V
;---- Math16.java[30]
	rrf     Math16_bHi,1
;---- Math16.java[31]
	rrf     Math16_bLo,1
;---- Math16.java[32]
	rrf     Math16_cHi,1
;---- Math16.java[33]
	rrf     Math16_cLo,1
;---- Math16.java[34]
	decfsz  Math16_temp,1
;---- Math16.java[35]
	goto    Math16_mloop
	return

Math16_setup__V
;---- Math16.java[39]
  movlw   16
;---- Math16.java[40]
	movwf   Math16_temp
;---- Math16.java[41]
	movf    Math16_bHi,0
;---- Math16.java[42]
	movwf   Math16_dHi
;---- Math16.java[43]
	movf    Math16_bLo,0
;---- Math16.java[44]
	movwf   Math16_dLo
;---- Math16.java[45]
	clrf    Math16_bHi
;---- Math16.java[46]
	clrf    Math16_bLo
	return

Math16_div__V
;---- Math16.java[50]
	call    Math16_setup__V
;---- Math16.java[51]
	clrf    Math16_cHi
;---- Math16.java[52]
	clrf    Math16_cLo
;---- Math16.java[53]
Math16_dloop   bcf     _STATUS,_C
;---- Math16.java[54]
	rlf     Math16_dLo,1
;---- Math16.java[55]
	rlf     Math16_dHi,1
;---- Math16.java[56]
	rlf     Math16_cLo,1
;---- Math16.java[57]
	rlf     Math16_cHi,1
;---- Math16.java[58]
	movf    Math16_aHi,0
;---- Math16.java[59]
	subwf   Math16_cHi,0
;---- Math16.java[60]
	btfss   _STATUS,_Z
;---- Math16.java[61]
	goto    Math16_nochk
;---- Math16.java[62]
	movf    Math16_aLo,0
;---- Math16.java[63]
	subwf   Math16_cLo,0
;---- Math16.java[64]
Math16_nochk   btfss   _STATUS,_C
;---- Math16.java[65]
	goto    Math16_nogo
;---- Math16.java[66]
	movf    Math16_aLo,0
;---- Math16.java[67]
	subwf   Math16_cLo,1
;---- Math16.java[68]
	btfss   _STATUS,_C
;---- Math16.java[69]
	decf    Math16_cHi,1
;---- Math16.java[70]
	movf    Math16_aHi,0
;---- Math16.java[71]
	subwf   Math16_cHi,1
;---- Math16.java[72]
	bsf     _STATUS,_C
;---- Math16.java[73]
Math16_nogo    rlf     Math16_bLo,1
;---- Math16.java[74]
	rlf     Math16_bHi,1
;---- Math16.java[75]
	decfsz  Math16_temp,1
;---- Math16.java[76]
	goto    Math16_dloop
	return

Math16__init___V
;---- Math16.java[1]
	movf	Math16__init___V_loc+0,0
	movwf	Processor__init___V_loc+0
	call	Processor__init___V
	return

Processor__init___V
;---- Processor.java[1]
	movf	Processor__init___V_loc+0,0
	movwf	PIC16F84__init___V_loc+0
	call	PIC16F84__init___V
	return
interrupt
	movwf	_W_TEMP
	swapf	_STATUS,0
	movwf	_STATUS_TEMP
	movf	_ACC,0
	movwf	_ACC_TEMP
	movf	4,0
	movwf	_FSR_TEMP
	banksel	_ACC

	movf	_FSR_TEMP,0
	movwf	4
	movf	_ACC_TEMP,0
	movwf	_ACC
	swapf	_STATUS_TEMP,0
	movwf	_STATUS
	swapf	_W_TEMP,1
	swapf	_W_TEMP,0
	retfie
	end
